gdkwindow: Fix gdk_window_set_child_shapes()
authorAlexander Larsson <alexl@redhat.com>
Tue, 4 Feb 2014 11:03:03 +0000 (12:03 +0100)
committerAlexander Larsson <alexl@redhat.com>
Tue, 4 Feb 2014 11:03:03 +0000 (12:03 +0100)
This did the reverse of what it should, making the shape be
the part where the children were *not*.

gdk/gdkwindow.c

index 691e035c4fec07d1a3fd2938ca89273fc7a2ebb9..4fe70bcfa044861edad5044d4ae79d6e269e6fda 100644 (file)
@@ -6421,6 +6421,8 @@ do_child_shapes (GdkWindow *window,
   if (merge && window->shape)
     cairo_region_subtract (region, window->shape);
 
+  cairo_region_xor_rectangle (region, &r);
+
   gdk_window_shape_combine_region (window, region, 0, 0);
 }
 
@@ -6542,6 +6544,8 @@ do_child_input_shapes (GdkWindow *window,
   if (merge && window->input_shape)
     cairo_region_subtract (region, window->input_shape);
 
+  cairo_region_xor_rectangle (region, &r);
+
   gdk_window_input_shape_combine_region (window, region, 0, 0);
 }